package com.itheima.common;

import org.omg.CORBA.SystemException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * @author ChenJunJie
 * @date 2022/6/12 16:18
 */
@RestControllerAdvice
public class CustomExceptionAdvice {
    //@ExceptionHandler用于设置当前处理器类对应的异常类型
    @ExceptionHandler(CustomException.class)
    public JsonResult<String> doCustomException(CustomException e){
        //记录日志
        //发送消息给运维
        //发送邮件给开发人员,ex对象发送给开发人员
        return JsonResult.exception(e.getCode(),null,e.getMessage());
    }

    @ExceptionHandler(UnAuthorizedException.class)
    public JsonResult<String> doUnAuthorizedException(UnAuthorizedException e){
        //记录日志
        //发送消息给运维
        //发送邮件给开发人员,ex对象发送给开发人员
        return JsonResult.exception(e.getCode(),null,e.getMessage());
    }

    // @ExceptionHandler(Exception.class)
    // public JsonResult<String> doOtherException(Exception e){
    //     //记录日志
    //     //发送消息给运维
    //     //发送邮件给开发人员,ex对象发送给开发人员
    //     return JsonResult.exception(500,null,"系统繁忙，请稍后再试！");
    // }
}
